﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F83 RID: 3971
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicTalentInfo : IMessage<RogueMagicTalentInfo>, IMessage, IEquatable<RogueMagicTalentInfo>, IDeepCloneable<RogueMagicTalentInfo>, IBufferMessage
	{
		// Token: 0x17003256 RID: 12886
		// (get) Token: 0x0600B1E4 RID: 45540 RVA: 0x001E0BC3 File Offset: 0x001DEDC3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicTalentInfo> Parser
		{
			get
			{
				return RogueMagicTalentInfo._parser;
			}
		}

		// Token: 0x17003257 RID: 12887
		// (get) Token: 0x0600B1E5 RID: 45541 RVA: 0x001E0BCA File Offset: 0x001DEDCA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicTalentInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003258 RID: 12888
		// (get) Token: 0x0600B1E6 RID: 45542 RVA: 0x001E0BDC File Offset: 0x001DEDDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicTalentInfo.Descriptor;
			}
		}

		// Token: 0x0600B1E7 RID: 45543 RVA: 0x001E0BE3 File Offset: 0x001DEDE3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicTalentInfo()
		{
		}

		// Token: 0x0600B1E8 RID: 45544 RVA: 0x001E0BEC File Offset: 0x001DEDEC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicTalentInfo(RogueMagicTalentInfo other) : this()
		{
			this.talentInfoList_ = ((other.talentInfoList_ != null) ? other.talentInfoList_.Clone() : null);
			this.magicTalentCoin_ = other.magicTalentCoin_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600B1E9 RID: 45545 RVA: 0x001E0C38 File Offset: 0x001DEE38
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicTalentInfo Clone()
		{
			return new RogueMagicTalentInfo(this);
		}

		// Token: 0x17003259 RID: 12889
		// (get) Token: 0x0600B1EA RID: 45546 RVA: 0x001E0C40 File Offset: 0x001DEE40
		// (set) Token: 0x0600B1EB RID: 45547 RVA: 0x001E0C48 File Offset: 0x001DEE48
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTalentInfoList TalentInfoList
		{
			get
			{
				return this.talentInfoList_;
			}
			set
			{
				this.talentInfoList_ = value;
			}
		}

		// Token: 0x1700325A RID: 12890
		// (get) Token: 0x0600B1EC RID: 45548 RVA: 0x001E0C51 File Offset: 0x001DEE51
		// (set) Token: 0x0600B1ED RID: 45549 RVA: 0x001E0C59 File Offset: 0x001DEE59
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MagicTalentCoin
		{
			get
			{
				return this.magicTalentCoin_;
			}
			set
			{
				this.magicTalentCoin_ = value;
			}
		}

		// Token: 0x0600B1EE RID: 45550 RVA: 0x001E0C62 File Offset: 0x001DEE62
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicTalentInfo);
		}

		// Token: 0x0600B1EF RID: 45551 RVA: 0x001E0C70 File Offset: 0x001DEE70
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicTalentInfo other)
		{
			return other != null && (other == this || (object.Equals(this.TalentInfoList, other.TalentInfoList) && this.MagicTalentCoin == other.MagicTalentCoin && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600B1F0 RID: 45552 RVA: 0x001E0CC0 File Offset: 0x001DEEC0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.talentInfoList_ != null)
			{
				num ^= this.TalentInfoList.GetHashCode();
			}
			if (this.MagicTalentCoin != 0U)
			{
				num ^= this.MagicTalentCoin.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600B1F1 RID: 45553 RVA: 0x001E0D15 File Offset: 0x001DEF15
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600B1F2 RID: 45554 RVA: 0x001E0D1D File Offset: 0x001DEF1D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600B1F3 RID: 45555 RVA: 0x001E0D28 File Offset: 0x001DEF28
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.MagicTalentCoin != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.MagicTalentCoin);
			}
			if (this.talentInfoList_ != null)
			{
				output.WriteRawTag(90);
				output.WriteMessage(this.TalentInfoList);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600B1F4 RID: 45556 RVA: 0x001E0D84 File Offset: 0x001DEF84
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.talentInfoList_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TalentInfoList);
			}
			if (this.MagicTalentCoin != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MagicTalentCoin);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600B1F5 RID: 45557 RVA: 0x001E0DDC File Offset: 0x001DEFDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicTalentInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.talentInfoList_ != null)
			{
				if (this.talentInfoList_ == null)
				{
					this.TalentInfoList = new RogueTalentInfoList();
				}
				this.TalentInfoList.MergeFrom(other.TalentInfoList);
			}
			if (other.MagicTalentCoin != 0U)
			{
				this.MagicTalentCoin = other.MagicTalentCoin;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600B1F6 RID: 45558 RVA: 0x001E0E44 File Offset: 0x001DF044
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600B1F7 RID: 45559 RVA: 0x001E0E50 File Offset: 0x001DF050
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 72U)
				{
					if (num != 90U)
					{
						this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
					}
					else
					{
						if (this.talentInfoList_ == null)
						{
							this.TalentInfoList = new RogueTalentInfoList();
						}
						input.ReadMessage(this.TalentInfoList);
					}
				}
				else
				{
					this.MagicTalentCoin = input.ReadUInt32();
				}
			}
		}

		// Token: 0x040047FD RID: 18429
		private static readonly MessageParser<RogueMagicTalentInfo> _parser = new MessageParser<RogueMagicTalentInfo>(() => new RogueMagicTalentInfo());

		// Token: 0x040047FE RID: 18430
		private UnknownFieldSet _unknownFields;

		// Token: 0x040047FF RID: 18431
		public const int TalentInfoListFieldNumber = 11;

		// Token: 0x04004800 RID: 18432
		private RogueTalentInfoList talentInfoList_;

		// Token: 0x04004801 RID: 18433
		public const int MagicTalentCoinFieldNumber = 9;

		// Token: 0x04004802 RID: 18434
		private uint magicTalentCoin_;
	}
}
